Skip to content

ci: let Blacksmith picks use idle owned side runners - #16021

Closed
teamleaderleo wants to merge 2 commits into
mainfrom
ci/owned-side-lanes-of-blacksmith-runs
Closed

teamleaderleo wants to merge 2 commits into
mainfrom
ci/owned-side-lanes-of-blacksmith-runs

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Use idle owned side runners for the side lanes of a Blacksmith macOS pick, while keeping the run's root admission and rescue marker tied to the exact owned pool.

Changelog

none

Origin: /Users/leoli/Projects/cmux-worktrees/owned-side-only (checkout cmux-worktrees/owned-side-only).

Verification

Not run during idle-checkout triage; this draft needs the focused CI picker and self-hosted guard checks.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Lets Blacksmith macOS picks use idle owned side runners for their side lanes (Claude wrapper, remote daemon, Swift package tests, and the new release build), so those jobs leave Blacksmith when owned side runners are free.

  • Adds side_only_placement in pr_runner_pool.py: pairs a Blacksmith pick's side lanes with the owned pool having the most idle side runners, keeping one runner as margin and preferring light runners; else the lanes keep today's route.
  • Makes release-build a side lane of a full suite with release_build, and lets main's full-suite dispatch place its side lanes like a pull request.
  • The rescue marker now names the owned pool whose side runners took the lanes (marker_pool), not just the pick's pool.

Written for commit 44f9ad0. Summary will update on new commits.

Review in cubic

teamleaderleo and others added 2 commits September 26, 2026 00:39
- pr_runner_pool.py: release-build is a side lane of a full suite with
  release_build (exactly when swift-package-tests builds the SDK 15 helper
  on Blacksmith, so a run still has at most three side lanes). Its priority
  follows cli-product, ahead of the light lanes, since it saves the most
  Blacksmith time (a 15-minute universal compile).
- Main's full-suite dispatch keeps its side lanes in the plan instead of
  dropping them, and claude-wrapper, remote-daemon, swift-package-tests and
  release-build read the pick for main's dispatch the way admission does.
- ci-macos.yml release-build (and its CMUX_PRODUCT_RUNNER mirror) takes the
  side label when owned_jobs names ' release-build ', else MACOS_RUNNER_26.
- The self-hosted guard pins the new expressions and route branches.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 30, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Superseded by the equivalent owned-side routing already on main in 1755ea8226c (#14797) and its current retry alignment. Closing this draft.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant